package ynu.edu.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import ynu.edu.common.domain.PageDTO;
import ynu.edu.common.domain.R;
import ynu.edu.user.domain.dto.LoginFormDTO;
import ynu.edu.user.domain.po.User;
import ynu.edu.user.domain.vo.UserLoginVO;
import ynu.edu.user.domain.vo.UserQuery;
import ynu.edu.user.domain.vo.UserVO;


public interface IUserService extends IService<User> {

    R<UserLoginVO> login(LoginFormDTO loginFormDTO);

    void deductMoney(Long userId,Integer totalFee);

    R<String> register(LoginFormDTO loginFormDTO);

    R<PageDTO<UserVO>> queryUserByPage(UserQuery query);

    R<UserVO> queryUserById(Long id);

    void updateUserStatus(Long id, Integer status);

    void updateUser(Long id, UserVO userVO);

    void logout();

    void updatePassword(String oldPw, String newPw);
}
